---
title: ItemSelector
---

import { Callout } from "nextra/components";

# `ItemSelector`

An object describing the location of an item in the Puck [data](data).

```json copy
{
  "index": 0,
  "zone": "Flex-123:children" // The "children" slot field in the component with id "Flex-123"
}
```

## Params

| Param             | Example                       | Type   | Status   |
| ----------------- | ----------------------------- | ------ | -------- |
| [`index`](#index) | `index: 0`                    | Number | Required |
| [`zone`](#zone)   | `zone: "Flex-123:children" }` | String | -        |

### `index`

The index of the item.

### `zone`

An optional string representing the location of the item. It is a concatenation of two values, joined with a colon (`:`):

1. The id of the parent component
2. The name of the [slot field](/docs/api-reference/fields/slot) or [DropZone `zone`](/docs/api-reference/components/drop-zone#zone) value

The root of the payload is represented by the `root` id. The default content is represented by `default-zone`. When not provided, `zone` will contain the value `root:default-zone`, injecting data into [`content`](/docs/api-reference/data-model/data#content)

<Callout>
  DropZones have been replaced by [`slot`
  fields](/docs/api-reference/fields/slot). For migration notes, see [these
  docs](/docs/guides/migrations/dropzones-to-slots).
</Callout>
